Systems and techniques for intelligently switching between multiple sources of universal serial bus signals

ABSTRACT

Various embodiments concern techniques for intelligently switching between multiple sources of USB signals. More specifically, user devices are described that include a physical USB port for receiving a USB connector and one or more wireless transceivers that communicate with an accessory. The wireless transceiver(s) may communicate with the accessory using a USB-based protocol (e.g., Wireless USB). The user devices described herein can intelligently switch between these different sources of USB signals so that USB signals can be simultaneously or sequentially received from a peripheral (via the USB port) and an accessory (via the wireless transceiver(s)). In some embodiments, a switching routine is executed (e.g., by a processor or signal switch) that determines which peripheral and/or accessory is connected to a user device at a given point in time.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional PatentApplication No. 62/329,894, filed Apr. 29, 2016, and U.S. ProvisionalPatent Application No. 62/300,631, filed Feb. 26, 2016, each of which isincorporated herein in its entirety.

RELATED FIELD

Various embodiments relate generally to processing data signals receivedby electronic devices. More specifically, various embodiments relate tointelligently switching between multiple sources of Universal Serial Bus(USB) signals.

BACKGROUND

Universal Serial Bus (USB) is an industry-standard communicationprotocol that defines how electronic devices can communicate andtransfer power between one another. USB was developed in the mid-1990sin an effort to standardize the connection of peripherals, such as inputdevices (e.g., mice and keyboards), printers, portable media players,and disk drives. USB ports have become a common sight on many electronicdevices. For example, one or more physical USB ports are often found onelectronic devices, such as mobile phones, tablets, personal computers,and video game consoles.

New functionalities or abilities can be provided by connecting aperipheral to an electronic device. For example, video recorders(“webcams”), input devices, and external storage can easily be connectedto the USB port of a personal computer through a wired connection (e.g.,via a USB cable).

Wired connections ensure that data and/or power can be more consistentlydelivered from an electronic device to the peripheral, or vice versa.For example, an external storage device may be configured to transferdata and power via a single wired connection with a USB port of theelectronic device. However, wired connections may be undesirable from anaesthetic perspective and are often impractical in certain situations(e.g., when clear channels between the peripheral and the electronicdevice are not available). Wireless connections, meanwhile, may havepoor connectivity and/or limited bandwidth that impact a user's abilityto utilize a peripheral. Moreover, wireless peripherals typicallyrequire a dedicated power source that requires its own wired connection(e.g., a dedicated AC/DC adapter) or must be periodically replaced(e.g., a battery).

SUMMARY

Techniques for intelligently switching between multiple sources of USBsignals are described herein. More specifically, user devices aredescribed that include a physical USB port for receiving a USB connector(which is part of a peripheral device or a USB cable) and a wirelessaccessory bus for receiving an accessory. The USB connector enables dataand/or power to be transferred between a user device and a peripheral.The wireless accessory bus enables data and/or power to be wirelesslytransferred between the user device and an accessory when the accessoryand the user device are located within close proximity to one another(e.g., when the accessory is securely attached to the wireless accessorybus).

Although the wireless accessory bus (and, more specifically, a wirelesstransceiver) is not a physical USB interface, the wireless accessory busmay communicate with the accessory using a USB-based protocol (e.g.,Wireless USB). Consequently, the user device can have at least twodifferent sources of USB signals (i.e., the USB port and the wirelessaccessory bus).

Techniques are described herein for intelligently switching between thedifferent sources in order to properly process the USB signals andattribute each USB signal to the correct source. For example, the userdevice may execute a switching routine that determines when to switchbetween the at least two sources. In some embodiments, the switchingroutine is based at least in part on a state machine that transitionsbetween the sources upon determining a triggering event (e.g., receptionof a USB signal at either the USB port or the wireless accessory bus)has occurred that prompts a transition. Additionally or alternatively,the switching routine could be based at least in part on an algorithmthat determines whether signal(s) are presently being received atparticular physical contacts or “pins.” For example, the algorithm maymonitor a signal is presently being received at the ground pin, powerpin, or reception/transmission pins of a USB Type-C port.

Both peripherals and accessories typically provide the user device witha new functionality or improve an existing functionality. Examples ofperipherals include input devices (e.g., mice and keyboards), printers,portable media players, external storage devices, disk drives, powersupplies (e.g., outlets and other electronic devices), etc. Examples ofaccessories include depth sensors, external storage devices, digitalcameras, auxiliary power supplies, displays, etc.

BRIEF DESCRIPTION OF THE DRAWINGS

One or more embodiments of the present invention are illustrated by wayof example and not limitation in the figures of the accompanyingdrawings, in which like references indicate similar elements.

FIG. 1A is a front view of a user device that includes a displaydisposed in a housing that protects various components that residewithin the user device.

FIG. 1B is a bottom view of the user device that depicts an audio portand a Universal Serial Bus (USB) port.

FIG. 2 is a rear view of a user device that includes a wirelessaccessory bus capable of receiving an accessory.

FIG. 3 is a high-level depiction of a user device that illustrates howthe user device can simultaneously or sequentially receive USB signalsfrom multiple sources.

FIG. 4 depicts how a signal switch can be used to intelligently switchbetween different sources of USB signals.

FIG. 5 is a high-level depiction of a USB Type-C port that illustratorshow the port can be used to transfer power and/or data between a userdevice and an attached peripheral.

FIG. 6 depicts a process for manufacturing a user device that includesmultiple sources capable of receiving USB signals.

FIG. 7 depicts a process for intelligently processing USB signalsreceived at two different sources of a user device.

FIG. 8 is a block diagram illustrating an example of a processing systemin which at least some operations described herein can be implemented.

DETAILED DESCRIPTION

Techniques for intelligently switching between multiple sources of USBsignals are described herein. More specifically, user devices aredescribed that include a physical USB port for receiving a USB connector(i.e., a physical interface that is part of a peripheral device or a USBcable) and a wireless accessory bus for receiving an accessory. Althoughthe wireless accessory bus is not a physical USB interface, the wirelessaccessory bus may communicate with the accessory using a USB-basedprotocol (e.g., Wireless USB). The user device intelligently switchesbetween these different sources of USB signals so that USB signals canbe simultaneously or sequentially received from a peripheral and anaccessory.

Said another way, the user device executes a switching routine todetermine which peripherals and/or accessories are connected to the userdevice at a given point in time. In some embodiments, the switchingroutine is implemented by a signal switch that is coupled to both theUSB port and the wireless accessory bus (and, more specifically, one ormore wireless transceivers). After determining which source is receivingUSB signals, the signal switch can pass the USB signals to a processor.

These techniques can be used with any electronic device (also referredto herein as a “user device”) that includes multiple USB interfaces,such as personal computers, tablets, personal digital assistants (PDAs),mobile phones, game consoles (e.g., Sony PlayStation or Microsoft Xbox),mobile gaming devices (e.g.. Sony PSP or Nintendo 3DS), music players(e.g., Apple iPod Touch), wearable electronic devices (e.g., watches),network-connected (“smart”) devices (e.g., televisions), and otherportable electronic devices.

Terminology

Brief definitions of terms, abbreviations, and phrases used throughoutthis application are given below.

Reference in this specification to “one embodiment” or “an embodiment”means that a particular feature, structure, or characteristic describedin connection with the embodiment is included in at least one embodimentof the disclosure. The appearances of the phrase “in one embodiment” invarious places in the specification are not necessarily all referring tothe same embodiment, nor are separate or alternative embodimentsnecessarily mutually exclusive of other embodiments. Moreover, variousfeatures are described that may be exhibited by some embodiments and notby others. Similarly, various requirements are described that may berequirements for some embodiments and not for other embodiments.

Unless the context clearly requires otherwise, throughout thedescription and the claims, the words “comprise,” “comprising,” and thelike are to be construed in an inclusive sense, as opposed to anexclusive or exhaustive sense; that is to say, in the sense of“including, but not limited to.” As used herein, the terms “connected,”“coupled,” or any variant thereof, means any connection or coupling,either direct or indirect, between two or more elements; the coupling ofor connection between the elements can be physical, logical, or acombination thereof. For example, two components may be coupled directlyto one another or via one or more intermediary channels or components.As another example, devices may be coupled in such a way thatinformation can be passed there between, while not sharing any physicalconnection with one another. Additionally, the words “herein,” “above,”“below,” and words of similar import, when used in this application,shall refer to this application as a whole and not to any particularportions of this application. Where the context permits, words in theDetailed Description using the singular or plural number may alsoinclude the plural or singular number respectively. The word “or,” inreference to a list of two or more items, covers all of the followinginterpretations of the word: any of the items in the list, all of theitems in the list, and any combination of the items in the list.

If the specification states a component or feature “may,” “can,”“could,” or “might” be included or have a characteristic, thatparticular component or feature is not required to be included or havethe characteristic.

The term “module” refers broadly to software, hardware, or firmwarecomponents. Modules are typically functional components that cangenerate useful data or other output using specified input(s). A modulemay or may not be self-contained. An application program (also called an“application”) may include one or more modules, or a module can includeone or more application programs.

The terminology used in the Detailed Description is intended to beinterpreted in its broadest reasonable manner, even though it is beingused in conjunction with certain examples. The terms used in thisspecification generally have their ordinary meanings in the art, withinthe context of the disclosure, and in the specific context where eachterm is used. For convenience, certain terms may be highlighted, forexample using capitalization, italics, and/or quotation marks. The useof highlighting has no influence on the scope and meaning of a term; thescope and meaning of a term is the same, in the same context, whether ornot it is highlighted. It will be appreciated that an element or featurecan be described in more than one way.

Consequently, alternative language and synonyms may be used for any oneor more of the terms discussed herein, and special significance is notto be placed on whether or not a term is elaborated or discussed herein.Synonyms for certain terms are provided. A recital of one or moresynonyms does not exclude the use of other synonyms. The use of examplesanywhere in this specification, including examples of any termsdiscussed herein, is illustrative only, and is not intended to furtherlimit the scope and meaning of the disclosure or of any exemplifiedterm. Likewise, the disclosure is not limited to the various embodimentsgiven in this specification.

System Overview

FIG. 1A is a front view of a user device 100 that includes a display 102disposed within a housing 106 that protects various components (e.g.,sensors, connectors, power supply) that reside within the user device100. The housing 106 is typically composed of a protective substrate,such as metal or plastic. In some embodiments, the display 102 is touchsensitive and is configured to generate signals responsive to a usercontacting the outer surface of the display 102.

The user device could include other features as well, such as a cameraand a touch-sensitive button that are offset from the display 102. Thecamera and/or touch-sensitive button may be located within an opaqueborder that surrounds the display 102 and that is not responsive to userinteractions (i.e., is not touch sensitive). The opaque border is oftenused to hide the various components that reside within the user device100.

FIG. 1B is a bottom view of the user device 100 that depicts an audioport 106 and a USB port 108. The audio port 106 (also referred to as an“audio jack”) is a receptacle or jack that can be used to transmitanalog signals, such as audio. More specifically, the audio port 106typically includes two, three, or four contacts that enable audiosignals to be readily transmitted when an appropriate plug is insertedinto the audio port 106. For example, most speakers and headphonesinclude a plug designed for a 3.5 mm audio jack.

The USB port 108 enables the user device 100 to be physically connecteddirectly to a peripheral via a USB connector, which is part of theperipheral or a USB cable. The peripheral could be a source or recipientof data and/or power (e.g., a power outlet, external memory, set ofheadphones, or personal computer). One or more additional ports could bepresent that are capable of interfacing with a micro-USB adapter, a30-pin adapter, or a proprietary bus (e.g., Apple Lightning). Together,the audio port 106 and USB port 108 can enable peripherals to befastened directly to the user device 100. However, as noted above,physical (i.e., “wired”) connections may be undesirable for bothaesthetic and functional reasons.

In some embodiments, the USB port 108 is a USB Type-C port (alsoreferred to as “USB-C port”) that is designed to interface with a small24-pin reversible-plug connector for peripherals (e.g., devices andcables). Because a USB Type-C port can be used to transfer both powerand data (including analog signals such as audio), some embodiments ofthe user device 100 may not include a distinct audio port 106.

Although FIGS. 1A-B include an illustration of a mobile phone, thetechniques described herein can also be used with other electronicdevices that include USB ports for transferring data and/or power. Forexample, the same techniques could be utilized with personal computers,tablets, personal digital assistants (PDAs), mobile phones, gameconsoles (e.g., Sony PlayStation or Microsoft Xbox), mobile gamingdevices (e.g., Sony PSP or Nintendo 3DS), music players (e.g., AppleiPod Touch), wearable electronic devices (e.g., watches),network-connected (“smart”) devices (e.g., televisions), and otherportable electronic devices.

FIG. 2 is a rear view of a user device 200 that includes a wirelessaccessory bus 202 capable of receiving an accessory. An accessory couldbe, for example, a digital camera, a depth sensor, an external storagedevice, an auxiliary power supply, an infrared sensor/camera, a laserrangefinder, a structured-light three-dimensional (3D) scanner, a memorycard reader, an audio output device (e.g., speaker, headphones), or asupplemental display (e.g., an electronic ink display or LCD display).One skilled in the art will recognize that many other accessoriesoffering different functionalities could also utilize the technologydescribed herein.

The wireless accessory bus 202 enables data and/or power to bewirelessly transferred from the user device 200 to the accessory (orvice versa) when the user device 200 and the accessory are within closeproximity to one another. For example, a bi-directional communicationchannel may be established when the accessory is securely attached tothe wireless accessory bus 202.

As shown in FIG. 2, the term “wireless accessory bus” refers generallyto an area of the user device 200 that is configured to securely receivean accessory. The wireless accessory bus 202 can include one or morepower transmitters 204, one or more wireless transceivers 206, and/orone or more magnets 208 (collectively referred to as the “buscomponents”).

Some of these bus components could be at least partially exposed. Forexample, the magnet(s) 208 may be exposed through opening(s) in thehousing 212. Additionally or alternatively, some of these bus componentscould be secured within the housing 212. In such embodiments, the buscomponents may be selected in order to compensate for signal degradationthat occurs as the data signals and/or power signals traverse throughthe housing 212 or a substrate laid within a break 210 in the housing212. The substrate may be an optically-clear substrate, such as glass orplastic. However, the housing 212 may not always include a break 210within which certain features (e.g., the bus components, a camera, or alighting element, such as a light-emitting diode) are positioned. Insome embodiments, the housing 212 does not include any breaks, and thebus component(s) can instead protrude through openings in the housing212 or be disposed entirely within the housing 212.

The power transmitter(s) 204 are configured to transfer power from apower supply (e.g., a battery) retained within the housing 212 to anaccessory via a wired or wireless electrical coupling. For example, thepower transmitter(s) 204 may include one or more electrical contacts(e.g., pin terminals) that are able to physically contact one or moreelectrical contacts of the accessory. As another example, the powertransmitter(s) 204 may include integrated circuits (“chips”) that areable to wirelessly transmit power from the user device to the accessory.In some embodiments, the power supply is a rechargeable battery (e.g., arechargeable lithium-ion (Li-Ion) battery, a rechargeable nickel-metalhydride (NiMH) battery, or a rechargeable nickel-cadmium (NiCad)battery). The wireless power transmitter(s) 204 may be configured totransmit power in accordance with the Qi standard developed by theWireless Power Consortium or some other wireless power standard.

The wireless transceiver(s) 206 are communicatively coupled to one ormore wireless transceivers of the accessory. For the purposes ofillustration and simplification, the term “wireless transceiver” isintended to cover components able to transmit data, receive data, orboth. Moreover, a single wireless transceiver could include distinctcomponents responsible for transmitting and receiving data signals.

Upon determining an accessory has been placed proximate to the wirelessaccessory bus 202, the wireless transceiver(s) 206 may be configured toautomatically initiate a connection with the wireless transceiver(s) ofthe accessory. The wireless transceiver(s) 206 can then allow data to betransmitted between the user device 200 and the accessory. For example,if the accessory includes a digital camera, image data may be receivedby the wireless transceiver(s) 206 from the accessory. In someembodiments, an application associated with the accessory could also bedownloaded from a network-accessible environment (e.g., a digitaldistribution platform such as a website or an app store) and/or launchedin response to determining the accessory has been securely attached tothe wireless accessory bus 202.

Oftentimes, the wireless transceiver(s) 206 communicates with theaccessory via Wireless USB, which is a short-range, high-bandwidthwireless radio communication protocol. In such embodiments, the userdevice 200 includes multiple sources or interfaces at which USB signalscan be received (i.e., a physical USB port and the wirelesstransceiver(s) 206 of the wireless accessory bus 202). Note, however,that other bi-directional communication protocols could also be used,such as Near Field Communication (NFC), Bluetooth, WiFi, a cellular dataprotocol (e.g., 3G or 4G), or a proprietary point-to-point protocol.

Oftentimes, the wireless accessory bus 202 includes a fasteningcomponent that enables the accessory to be securely attached to the userdevice 200. Here, for example, magnet(s) 208 are arranged around thewireless accessory bus 202 so that the accessory is in a predeterminedorientation when attached to the user device 200. However, othermaterials and components could also be used. For example, a magneticfilm could be deposited on an outer or inner surface of the housing 212or mechanical tracks, clips, etc., could be affixed to the housing 212.The predetermined orientation may cause a wireless transmitter of theaccessory to be aligned with, or disposed in close proximity to, thewireless transceiver(s) 206 of the user device 200.

The housing 212 also typically includes one or more breaks 210. Thesebreak(s) 210 may be necessary for permitting antenna(s) within thehousing 212 to send and receive signals or could be forstylistic/aesthetic purposes. These break(s) 210 can include a substratelayer comprised of a non-metal material, such as glass or plastic, thatallows signals to more readily pass through. However, in someembodiments the housing 212 may not include any breaks 210 (e.g., whenthe housing is composed of a material that allows wireless signals tomore readily pass through).

As shown in FIG. 2, the wireless accessory bus 202 could be positionedin or around one of the break(s) 210. In such embodiments, one or morelight emitting diodes (LEDs) 214 may be disposed underneath thesubstrate layer and configured to convey information about the userdevice 200 and/or an accessory. For example, the LED(s) 214 couldilluminate when the accessory is brought near the user device 200,thereby indicating where the accessory should be attached. As anotherexample, the LED(s) 214 may be able to convey operational information,such as whether the accessory is receiving sufficient power, is able totransfer data signals to the user device, is currently available foruse, etc.

FIG. 3 is a high-level depiction of a user device 300 that illustrateshow the user device 300 can simultaneously or sequentially receive USBsignals from multiple sources. Here, for example, the user device 300includes one or more wireless transceivers 302 that can wirelesscommunicate with an accessory and a USB port 304 that can receive aphysical USB connector and communicate with a peripheral. Although thewireless transceiver(s) 302 do not create a physical USB interface, thewireless transceiver(s) 302 may communicate with the accessory using aUSB-based protocol (e.g., Wireless USB).

Consequently, the wireless transceiver(s) 302 and USB port 304 eachrepresent a distinct source of USB signals for a single user device. Thewireless transceiver(s) 302 and the USB port 304 may be able to transmitand/or receive USB signals in accordance with one or more USB standards(e.g., USB 3.1, USB 3.0, or USB 2.0). For example, in some embodimentsthe USB port 304 is a USB Type-C connector that is able to communicatein accordance with both the USB 3.0 and 2.0 standards. The wirelesstransceiver(s) 302, meanwhile, may receive a wireless USB signal from anaccessory that is transmitted in accordance with the USB 3.0 standard.Thus, the user device 300 could simultaneously or sequentially receivemultiple USB signals from different sources.

In some embodiments, a processor 306 employs an algorithm tocontinuously or periodically determine which source is receiving USBsignals, and then intelligently switch between the multiple sources. Forexample, the processor 306 may continually monitor an accessory has beenwirelessly coupled to the wireless transceiver(s) 302 and whether aperipheral has been physically coupled to the USB port 304 (e.g., via aUSB connector). The processor could then parse the USB signals in orderto determine what accessory or peripheral has been coupled to thewireless transceiver(s) 302 or USB port 304, respectively.

Generally, the algorithm is used to intelligently determine whichaccessory and/or peripheral are connected to the user device 300 at agiven point in time. The algorithm may consider numerous factors thataffect whether the processor should begin analyzing USB signals receivedat a different source. For instance, the algorithm may monitor whethersignal(s) are being received at certain physical contacts or “pins” ofthe USB port 304 and/or the a wireless accessory bus. More specifically,the algorithm may monitor whether a signal is presently being receivedat the ground pin(s), power pin(s), or reception/transmission pin(s) ofa USB Type-C port. Additionally or alternatively, the algorithm maymonitor whether a signal is presently being received at power pin(s) ofthe wireless accessory bus that protrude through the housing (as shownin FIG. 2).

FIG. 4 depicts how a signal switch 406 of a user device 400 can be usedto intelligently switch between different sources of USB signals. Here,for example, the user device 400 includes a USB port 402 and a wirelesstransceiver 404 that may be part of a wireless accessory bus. In someembodiments, the USB port 402 is a USB Type-C port that enables USBsignals to be transmitted and received in both the USB 3.0 and 2.0standards. Although the wireless transceiver 404 does not represent aphysical USB interface, the wireless transceiver may transfers data inaccordance with the Wireless USB protocol.

The USB port 402 and the wireless transceiver 404 can simultaneously orsequentially receive USB signals from a peripheral and an accessory,respectively. When a USB signal is received at the user device 400, theUSB signal is forwarded to a signal switch 406 that intelligentlydetermines which source received the USB signal. The signal switch 406can be implemented using hardware (e.g., an integrated circuit or“chip”) and/or software (e.g., a switching routine). A “routine” is aportion of code within a larger program, such as the operating system oran application, that performs a specific task and is relativelyindependent of the remaining code. Thus, the switching routine may beexecuted by a particular module (e.g., a switching module). In someembodiments, the switching routine is executed using a state machinethat transitions between the USB port 402 and the wireless transceiver404 upon determining a triggering event has occurred that prompts atransition from one source to another. The triggering event could be,for example, reception of USB signals at a particular source orinitiation of an application associated with a particular source.

Moreover, the signal switch 406 may continuously or periodically monitorwhether signal(s) have been received at certain pin(s) in the USB port402 or whether signal(s) have been received along a certain wirelesscommunication channel established by the wireless transceiver 404. Forexample, the signal switch 406 may detect when power pin(s) within theUSB port 402 are in contact with a USB connector. Similarly, the signalswitch 406 may detect when power pin(s) near the wireless transceiver404 are in contact with the power pin(s) of an accessory.

In some embodiments, the signal switch 406 also parses USB signalsreceived at the user device 400 to discover characteristics of the USBsignals. For example, the signal switch 406 may discover that a USBsignal originates from a particular accessory or peripheral and shouldbe passed to an application executing on the user device 400 that isassociated with the particular accessory or peripheral.

Upon determining the source of the USB signal, the signal switch 406 canfacilitate a link between the source (i.e., the USB port 402 or thewireless transceiver 404) and a processor 408. The processor 408 may beresponsible for executing an operating system or application thatutilizes the USB signal. Although FIG. 4 depicts USB 3.1 signals, otherUSB standards/specifications could also be used (e.g., USB 2.0, USB 3.0,and those to be developed in the future).

FIG. 5 is a high-level depiction of a USB Type-C port 502 thatillustrators how the port can be used to transfer power and/or databetween a user device 500 and an attached peripheral. The peripheralcould be a source of power and/or data (e.g., an outlet, externalmemory, or personal computer), or a recipient of power and/or data(e.g., an external memory, personal computer, audio speaker, or set ofheadphones). In some embodiments, the USB Type-C port 502 is apass-through interface that is able to transfer data, but cannot be usedto transfer power.

Generally, the user device 500 (and, more specifically, a processor 508)can communicate with the peripheral connected to the USB Type-C port 502in accordance with both the USB 3.0 and 2.0 standards. This allows theuser device 500 to interface with both a USB cable 504 (which cantransfer USB 3.0 signals) and an audio jack 506 (which can transfer USB2.0 signals). The audio jack 506 could include a conventional 3.5 mmaudio jack, a USB-type connector, or a proprietary connector.

A USB Type-C port 502 enables signals of different types to betransmitted from the same port. For example, non-audio digital signalscould be forwarded directly from the processor 508 to the USB cable 504,while audio digital signals are typically passed through adigital-to-analog converter (DAC) 510 to produce an analog signal thatis forwarded to the audio jack 506. The DAC 510 can convert a digitalsignal produced by the processor 508 into an analog signal that isaudible to a user (e.g., via a set of headphones or a speaker). Bothaudio signals (i.e., the digital and analog signals) are usuallyproduced in accordance with the USB 2.0 standard, while non-audiodigital signals can normally be passed directly to the USB cable 504 inaccordance with the USB 3.0 standard.

FIG. 6 depicts a process 600 for manufacturing a user device thatincludes multiple sources capable of receiving USB signals. For example,the user device can include a physical USB port and a wireless accessorybus that includes at least one wireless transceiver, which can becommunicatively coupled to an accessory. The wireless transceiver(s)enable the user device to communicate with the accessory via theWireless USB protocol.

A housing that includes at least one USB port is initially received(e.g., by a manufacturer) (step 601). The housing is typically designedto protect various components (e.g., sensors, connectors, power supply)that reside within the user device. In some embodiments, a break iscreated in the housing. The break may be necessary for permittingantenna(s) within the housing to send and receive signals or could befor stylistic/aesthetic purposes.

Fastening components can then be affixed to the housing. For example, insome embodiments one or more magnets are secured to the inner surface ofthe housing near the break if one is present (step 602). The magnet(s)permit one or more accessories to be securely attached to the housingwithout requiring mechanical clips or connectors. Additionally oralternatively, a magnetic film could be deposited along the outer orinner surface of the housing. The user device can also be designed sothat at least one wireless transceiver is disposed in or near the break(step 603). As shown in FIG. 2, the fastening component(s) (e.g.,magnets) and wireless transceiver form a wireless accessory bus to whichaccessories can be magnetically, electrically, and/or communicativelycoupled.

The wireless transceiver and USB port can then be connected to aprocessor (step 604). In some embodiments, the wireless transceiver andUSB port are coupled to a signal switch that intelligently switchesbetween the multiple sources of USB signals (i.e., the USB port and thewireless transceiver) so that USB signals can be simultaneously orsequentially received at both sources. Moreover, the signal switch maybe able to determine which peripherals and accessories are connected tothe user device at a given point in time based on the received USBsignals. The processor is responsible for processing USB signalsreceived at each source and executing various programs and/orapplications. For example, the processor may initiate and run anapplication that is associated with an accessory attached to thewireless accessory bus or a peripheral attached to the USB port.

The user device, which includes at least one USB port and at least onewireless transceiver capable of communicating via the Wireless USBprotocol, can then be assembled and provided to a user (step 605). Thefastening component(s) of the wireless accessory bus permit the user toreadily and repeatedly attach and detach the user device fromaccessories (step 606). For example, as the user brings an accessory andthe user device within proximity to one another, magnet(s) secured tothe inner surface of the housing may magnetically draw the accessorytoward the wireless accessory bus. When the accessory is attached to theuser device, the user device may automatically allow the user to utilizea new or improved functionality enabled by the accessory. For example,the user device may be able to capture an image using a camera accessoryor project audio using a speaker accessory without requiringmodification/installation of any hardware or software. Similarly, theUSB port permits the user to readily and repeatedly attach and detachthe user device from peripherals (step 607). For example, the user mayconnect the user device to an external storage by inserting a USBconnector into the USB port of the user device.

After the user device has been assembled, a processor can intelligentlyreceive USB signals at the USB port and the wireless transceiver (step608). In some embodiments, a signal switch coupled to the processordetermines whether an accessory is attached to the wireless accessorybus and whether a peripheral is attached to the USB port. For example,the signal switch may employ an algorithm that monitors whether signalsare received at certain pins of the USB port, whether an authenticationrequest has been received by the wireless transceiver, etc. The userdevice can then intelligently switch between the two sources so that USBsignals can be received at both sources without being mixed up ordisordered. For example, the processor and/or the signal switch maycontinuously or periodically monitor whether an accessory or aperipheral has begun transmitting USB signals to the wirelesstransceiver or USB port, respectively.

FIG. 7 depicts a process 700 for intelligently processing USB signalsreceived at two different sources of a user device. The first and secondsources can represent a USB port and a wireless transceiver, or viceversa. Said another way, the terms “first source” and “second source”can be used to refer to either the USB port or the wireless transceiver.

The user device initially receives a first USB signal at a first source(step 701). The user device could be, for example, user device 200 ofFIG. 2 or any other suitable electronic device. The first USB signal canthen be passed (e.g., by a signal switch) to a processor for processing(step 702). Content within the first USB signal could be used by theprocessor to invoke an application or perform some other act (e.g.,present information on a display or enable a new or improvedfunctionality).

The signal switch can continuously or periodically monitor whether asecond USB signal has been received at a second source (step 703).Responsive to determining the second USB signal has been received at thesecond source, the second USB signal can be passed (e.g., by the signalswitch) to the processor for processing (step 704). As noted above, thesecond source is whichever of the USB port or the wireless transceiveris not the first source. For example, the first USB signal could bereceived from an accessory at the wireless transceiver, and the secondUSB signal could be received from a peripheral at the USB port. Asanother example, the first USB signal could be received from aperipheral at the USB port, and the first USB signal could be receivedfrom an accessory at the wireless transceiver.

In some embodiments, the signal switch is responsible for parsing,formatting, and/or analyzing the first and second USB signals beforedetermining whether to pass them onward to the processor. Morespecifically, the signal switch could parse specific parts (e.g., theheader, payload, or trailer) of a data packet that is transmitted inaccordance with one of the USB standards. Metadata within the datapacket may indicate which accessory or peripheral is responsible fortransmitted the data packet to the user device. The processor can thenexecute an action (e.g., invoke an application or present information ona display) based on the content of the first USB signal and/or thesecond USB signal (step 705).

The processor and/or signal switch can automatically and intelligentlyswitch between receiving USB signals at the first and second sources(step 706). For example, a user device (e.g., user device 300 of FIG. 3)may include both a USB port and a wireless transceiver that are able totransfer data and, in some cases, power. Both the USB port and thewireless transceiver may be configured to receive USB signals (despitethe wireless transceiver not being a physical USB interface). The userdevice can process USB signals received at either source withoutcomplications by intelligently switching between the different sources.The processor and/or signal switch may do this by identifying whichsource has received a USB signal, which accessory or peripheral isresponsible for transmitting the USB signal, etc. Proper attribution ofthe USB signal to the source and/or originator (i.e., the particularaccessory or peripheral) ensures that all USB signals received at theuser device are properly used by the processor.

Unless contrary to physical possibility, it is envisioned that the stepsdescribed above may be performed in various sequences and combinations.For instance, the user device may initially receive USB signals ateither the USB port or the wireless transceiver. Other steps could alsobe included in some embodiments. For example, the user device mayautomatically download or initiate an application associated with anaccessory upon determining the accessory has been connected to thewireless accessory bus. Similarly, the user device may automaticallydownload or initiate an application associated with a peripheral upondetermining the peripheral has been connected to the USB port.

Processing System

FIG. 8 is a block diagram illustrating an example of a processing system800 in which at least some operations described herein can beimplemented. The computing system may include one or more centralprocessing units (“processors”) 802, main memory 806, non-volatilememory 810, network adapter 812 (e.g., network interfaces), videodisplay 818, input/output devices 820, control device 822 (e.g.,keyboard and pointing devices), drive unit 824 including a storagemedium 826, and signal generation device 830 that are communicativelyconnected to a bus 816. The bus 816 is illustrated as an abstractionthat represents any one or more separate physical buses, point to pointconnections, or both connected by appropriate bridges, adapters, orcontrollers. The bus 816, therefore, can include, for example, a systembus, a Peripheral Component Interconnect (PCI) bus or PCI-Express bus, aHyperTransport or industry standard architecture (ISA) bus, a smallcomputer system interface (SCSI) bus, a universal serial bus (USB), IIC(I2C) bus, or an Institute of Electrical and Electronics Engineers(IEEE) standard 1394 bus, also called “Firewire.”

In various embodiments, the processing system 800 operates as part of auser device (e.g., user device 300 of FIG. 3), although the processingsystem 800 may be connected (e.g., wired or wirelessly) to the userdevice. In a networked deployment, the processing system 800 may operatein the capacity of a server or a client machine in a client-servernetwork environment, or as a peer machine in a peer-to-peer (ordistributed) network environment.

The processing system 800 may be a server computer, a client computer, apersonal computer (PC), a tablet PC, a laptop computer, a personaldigital assistant (PDA), a mobile telephone, an iPhone®, an iPad®, aBlackberry®, a processor, a telephone, a web appliance, a networkrouter, switch or bridge, a console, a hand-held console, a gamingdevice, a music player, or any portable, device or any machine capableof executing a set of instructions (sequential or otherwise) thatspecify actions to be taken by the processing system.

While the main memory 806, non-volatile memory 810, and storage medium826 (also called a “machine-readable medium) are shown to be a singlemedium, the term “machine-readable medium” and “storage medium” shouldbe taken to include a single medium or multiple media (e.g., acentralized or distributed database, and/or associated caches andservers) that store one or more sets of instructions 828. The term“machine-readable medium” and “storage medium” shall also be taken toinclude any medium that is capable of storing, encoding, or carrying aset of instructions for execution by the computing system and that causethe computing system to perform any one or more of the methodologies ofthe presently disclosed embodiments.

In general, the routines executed to implement the embodiments of thedisclosure, may be implemented as part of an operating system or aspecific application, component, program, object, module or sequence ofinstructions referred to as “computer programs.” The computer programstypically comprise one or more instructions (e.g., instructions 804,808, 828) set at various times in various memory and storage devices ina computer, and that, when read and executed by one or more processingunits or processors 802, cause the processing system 800 to performoperations to execute elements involving the various aspects of thedisclosure.

Moreover, while embodiments have been described in the context of fullyfunctioning computers and computer systems, those skilled in the artwill appreciate that the various embodiments are capable of beingdistributed as a program product in a variety of forms, and that thedisclosure applies equally regardless of the particular type of machineor computer-readable media used to actually effect the distribution.

Further examples of machine-readable storage media, machine-readablemedia, or computer-readable (storage) media include, but are not limitedto, recordable type media such as volatile and non-volatile memorydevices 810, floppy and other removable disks, hard disk drives, opticaldisks (e.g., Compact Disk Read-Only Memory (CD ROMS), Digital VersatileDisks (DVDs)), and transmission type media, such as digital and analogcommunication links.

The network adapter 812 enables the processing system 800 to mediatedata in a network 814 with an entity that is external to the processingsystem 800 through any known and/or convenient communications protocolsupported by the processing system 800 and the external entity. Thenetwork adapter 812 can include one or more of a network adaptor card, awireless network interface card, a router, an access point, a wirelessrouter, a switch, a multilayer switch, a protocol converter, a gateway,a bridge, bridge router, a hub, a digital media receiver, and/or arepeater.

The network adapter 812 can include a firewall which can, in someembodiments, govern and/or manage permission to access/proxy data in acomputer network, and track varying levels of trust between differentmachines and/or applications. The firewall can be any number of moduleshaving any combination of hardware and/or software components able toenforce a predetermined set of access rights between a particular set ofmachines and applications, machines and machines, and/or applicationsand applications, for example, to regulate the flow of traffic andresource sharing between these varying entities. The firewall mayadditionally manage and/or have access to an access control list whichdetails permissions including for example, the access and operationrights of an object by an individual, a machine, and/or an application,and the circumstances under which the permission rights stand.

As indicated above, the techniques introduced here implemented by, forexample, programmable circuitry (e.g., one or more microprocessors),programmed with software and/or firmware, entirely in special-purposehardwired (i.e., non-programmable) circuitry, or in a combination orsuch forms. Special-purpose circuitry can be in the form of, forexample, one or more application-specific integrated circuits (ASICs),programmable logic devices (PLDs), field-programmable gate arrays(FPGAs), etc.

Remarks

The foregoing description of various embodiments has been provided forthe purposes of illustration and description. It is not intended to beexhaustive or to limit the claimed subject matter to the precise formsdisclosed. Many modifications and variations will be apparent to oneskilled in the art. Embodiments were chosen and described in order tobest describe the principles of the invention and its practicalapplications, thereby enabling others skilled in the relevant art tounderstand the claimed subject matter, the various embodiments, and thevarious modifications that are suited to the particular usescontemplated.

Although the above Detailed Description describes certain embodimentsand the best mode contemplated, no matter how detailed the above appearsin text, the embodiments can be practiced in many ways. Details of thesystems and methods may vary considerably in their implementationdetails, while still being encompassed by the specification. As notedabove, particular terminology used when describing certain features oraspects of various embodiments should not be taken to imply that theterminology is being redefined herein to be restricted to any specificcharacteristics, features, or aspects of the invention with which thatterminology is associated. In general, the terms used in the followingclaims should not be construed to limit the invention to the specificembodiments disclosed in the specification, unless those terms areexplicitly defined herein. Accordingly, the actual scope of theinvention encompasses not only the disclosed embodiments, but also allequivalent ways of practicing or implementing the embodiments under theclaims.

The language used in the specification has been principally selected forreadability and instructional purposes, and it may not have beenselected to delineate or circumscribe the inventive subject matter. Itis therefore intended that the scope of the invention be limited not bythis Detailed Description, but rather by any claims that issue on anapplication based hereon. Accordingly, the disclosure of variousembodiments is intended to be illustrative, but not limiting, of thescope of the embodiments, which is set forth in the following claims.

1. An electronic user device capable of receiving USB signals atmultiple sources and intelligently switching between the multiplesources, the electronic user device comprising: a housing that includesa wireless accessory bus for receiving an accessory, and a UniversalSerial Bus (USB) port for receiving a USB connector; a power supplydisposed within the housing; a wireless transceiver that effects abi-directional exchange of information with the accessory when theaccessory is positioned proximate to the wireless accessory bus of thehousing, wherein the bi-directional exchange of information is performedin accordance with a Wireless USB communication protocol; a processorthat is coupled to the wireless transceiver and the USB port of thehousing, wherein the processor is able to receive USB signals at boththe wireless transceiver and the USB port; and a memory havinginstructions for executing an intelligent switching routine, wherein theinstructions, when executed by the processor, cause the processor to:query whether the USB connector is physically coupled to the USB portand whether the accessory is wirelessly coupled to the wirelesstransceiver; and based on said querying, process a first USB signalreceived at a first source, wherein the first source is either thewireless transceiver or the USB port; continually examine whether asecond USB signal has been received at a second source, wherein thesecond source is whichever of the wireless transceiver and the USB portis not the first source; and process the second USB signal responsive todetermining the second USB signal has been received at the secondsource.
 2. An electronic user device comprising: a housing that includesa wireless accessory bus for receiving an accessory, and a UniversalSerial Bus (USB) port for receiving a USB connector; a power supplydisposed within the housing; a power transmitter that is coupled to thepower supply and that wirelessly transfers power to the accessory whenthe accessory is positioned proximate to the wireless accessory bus; awireless transceiver that effects a bi-directional exchange ofinformation with the accessory when the accessory is positionedproximate to the wireless accessory bus of the housing, wherein thebi-directional exchange of information is performed in accordance with aWireless USB communication protocol; a signal switch that is coupled tothe wireless transceiver and the USB port of the housing, wherein thesignal switch is able to simultaneously or sequentially receive USBsignals at both the wireless transceiver and the USB port; and aprocessor for processing the USB signals and executing a systemoperation based on content of the USB signals.
 3. The electronic userdevice of claim 2, further comprising: a memory having instructions forexecuting an intelligent switching routine, wherein the instructions,when executed by the processor, cause the processor to: query whetherthe USB connector is physically coupled to the USB port and whether theaccessory is wirelessly coupled to the wireless transceiver; and basedon said querying, process a first USB signal received at a first source,wherein the first source is either the wireless transceiver or the USBport; continually examine whether a second USB signal has been receivedat a second source, wherein the second source is whichever of thewireless transceiver and the USB port is not the first source; andprocess the second USB signal responsive to determining the second USBsignal has been received at the second source.
 4. The electronic userdevice of claim 2, further comprising: a memory having instructions forexecuting an intelligent switching routine, wherein the instructions,when executed by the processor, cause the processor to: continuallyexamine whether USB signals have been received at a first source or asecond source, wherein the first and second sources are selected fromthe wireless transceiver and the USB port; and intelligently switchbetween the first and second sources to receive the USB signals.
 5. Theelectronic user device of claim 4, wherein said intelligently switchingis accomplished using a state machine that transitions between the firstsource and the second source upon determining a triggering event hasoccurred that prompts a transition.
 6. The electronic user device ofclaim 5, wherein the triggering event is reception of a USB signal ateither the first or second source.
 7. The electronic user device ofclaim 2, wherein the USB port is a USB Type-C port capable ofbi-directional data transfer and bi-directional power transfer.
 8. Theelectronic user device of claim 7, wherein the USB port is capable ofoutputting, via a digital-to-analog (DAC) converter, an audio signal. 9.The electronic user device of claim 2, wherein the USB signals receivedat the USB port and the wireless transceiver satisfy a USB 3.1 standard.10. The electronic user device of claim 2, wherein the USB connector ispart of a peripheral device or a USB cable.
 11. The electronic userdevice of claim 2, further comprising: one or more magnets associatedwith the housing, wherein the one or more magnets are arranged tomaintain the accessory in a predetermined orientation relative to thehousing when the accessory is positioned proximate to the wirelessaccessory bus.
 12. The electronic user device of claim 2, wherein thepower supply is any of a rechargeable lithium-ion (Li-Ion) battery, arechargeable nickel-metal hydride (NiMH) battery, or a rechargeablenickel-cadmium (NiCad) battery.
 13. An electronic user devicecomprising: a housing that includes a wireless accessory bus forreceiving an accessory, and a Universal Serial Bus (USB) port forreceiving a USB connector; a wireless transceiver that effects anexchange of information with the accessory in accordance with a WirelessUSB protocol when the accessory is positioned proximate to the wirelessaccessory bus of the housing; a signal switch that is coupled to thewireless transceiver and the USB port; a processor that is coupled tothe signal switch; and a memory having instructions, which when executedby the processor, cause the electronic user device to: query whether theUSB connector is physically coupled to the USB port and whether theaccessory is wirelessly coupled to the wireless transceiver; andidentify a first source of USB signals based on said querying; andexecute a switching routine that causes the signal switch tointelligently switch between the first source of USB signals and asecond source of USB signals.
 14. The electronic user device of claim13, wherein the signal switch is an integrated circuit or a softwaremodule.
 15. The electronic user device of claim 13, further comprising:a touch-sensitive display configured to generate signals responsive touser interactions with the touch-sensitive display.
 16. The electronicuser device of claim 15, wherein the instructions further cause theelectronic user device to: generate an interface that enables a user tomanually override the switching routine and specify a particular sourceof USB signals; cause the interface to be presented on thetouch-sensitive display; receive user input at the interface that isindicative of a request to process USB signals received from theparticular source; and process the USB signals received from theparticular source responsive to receiving the user input.
 17. Theelectronic user device of claim 13, further comprising: means forsecurely receiving the accessory that are associated with the housing,wherein the receiving means are arranged such that the accessory is in apredetermined orientation when placed proximate to the wirelessaccessory bus.
 18. The electronic user device of claim 17, wherein thereceiving means include any of one or more magnets, a magnetic film, amechanical track, or a clip.
 19. A method for intelligently switchingbetween multiple sources of USB signals, the method comprising:providing a user device that includes a Universal Serial Bus (USB) portfor receiving a USB connector, and a wireless transceiver that effectsan exchange of information with an accessory in accordance with aWireless USB protocol when the accessory is positioned proximate to awireless accessory bus of the user device; querying whether the USBconnector is physically coupled to the USB port and whether theaccessory is wirelessly coupled to the wireless transceiver; processinga first USB signal received at a first source, wherein the first sourceis the wireless transceiver or the USB port; examining whether a secondUSB signal has been received at a second source, wherein the secondsource is whichever of the wireless transceiver and the USB port is notthe first source; upon determining the second USB signal has beenreceived at the second source, executing a switching routine thatenables the user device to intelligently switch between the first andsecond sources to sequentially receive the first and second USB signals.20. The computer-implemented method of claim 19, wherein the first andsecond USB signals include a header, a payload, and a trailer.
 21. Thecomputer-implemented method of claim 20, wherein the switching routineprompts a switch based at least in part on content of the header, thepayload, or the trailer of the first or second USB signal.
 22. Thecomputer-implemented method of claim 19, wherein the switching routineis accomplished using a state machine that transitions between the firstsource and the second source upon determining a triggering event hasoccurred that prompts a transition.
 23. The electronic user device ofclaim 22, wherein the triggering event is reception of a USB signal ateither the first or second source.